#include <iostream>
#include <map>  //map的头文件
#include "myhead.h"
using namespace std;

/*
	实现拼音汉字输入法
*/

int main()
{
	FILE *myfile;
	//定义数组存放读取到一行行数据
	char buf[2048];
	string input;
	
	//创建map对象
	map<string,string> mymap1;
	
	//打开拼音汉字文档
	myfile=fopen("./file","r+"); //可读写
	if(myfile==NULL)
	{
		perror("打开文件失败了!\n");
		return -1;
	}
	
	//循环读取文件
	while(1)
	{
		fgets(buf,2048,myfile);
		//把buf转换成string对象--》方便使用string的方法
		string str(buf);
		//cout<<"当前读取的一行数据： "<<str<<endl;
		//把拼音和汉字截取出来
		//查找=>的下标位置
		int n=str.find("=>");
		string pinyin=str.substr(0,n);
		string hanzi=str.substr(n+3,str.length()-n-2-3);
		//cout<<"拼音: "<<pinyin<<endl;
		//cout<<"汉字: "<<hanzi<<endl;
		//把拼音汉字存放到map中
		mymap1[pinyin]=hanzi;
		if(feof(myfile))
			break;
	}
	
	while(1)
	{
		cout<<"请输入拼音"<<endl;
		cin>>input;
		//通过拼音找汉字--》通过键找值
		auto it=mymap1.find(input);
		cout<<it->second<<endl;  
	}
	
	//关闭文件
	fclose(myfile);
	return 0;
}